A programmable logic controller (PLC) is a specialized computer control system configured to execute software which continuously gathers data on the state of input devices to control the state of output devices. A PLC typically includes three major components: a processor (which may include multiple processor cores and volatile memory), volatile memory comprising an application program, and one or more input/output (I/O) ports for connecting to other devices in the automation system.
PLCs are utilized in various industrial settings to control automation systems. Automation systems typically generate a large amount of data in their daily operations. This data may include, for example, sensor data, actuator and control program parameters, and information associated with service activities. However, conventional automation systems, and PLCs in particular, are not capable of adequately handling this data. For example, in most systems, due to hardware and software limitations, only a small fraction of automation system data can be analyzed and stored. Massive amounts of irrelevant data may be produced while important data points are missed. Compression may be applied at the higher automation layers on unimportant data, while important data is lost while travelling through the automation layers. Moreover, even where there are attempts to avoid the loss of data, there may be significant demands placed on the rest of the computing infrastructure. For example, the PLC data processing may result in a high demand on the network bandwidth as well as storage capacity. Additionally, the context of data may be lost while data passes through automation system layers. This causes several undesired secondary effects on the automation system. For example, if data analytics are performed at higher automation layers based on low quality/fidelity data, important data may be lost causing the automation system to operate inefficiently or sub-optimally.
Today, data such as sensor data or alarms from automation systems is stored, processed and analyzed on SCADA level, MES level and/or above. The problem with this approach is that in many real-world scenarios the complete set of PLC data cannot be sent to remote systems for analysis due to a limited communication bandwidth. This is particularly a problem for high resolution data (e.g. sensor with high sampling frequency) and signals with extreme as well as fast changes in measurements (e.g. current and voltage). In practice this means that events that happen in the shop floor go undetected. An example from the automotive industry are so called micro breaks—short products stops below 2 seconds—caused by problems in process synchronization between two consecutive machines/production modules. Another example is a fast oscillation that happens during positioning of parts which could indicate sensor problems but cannot be detected on SCADA level today.
Conventional PLCs do not provide sufficient support for data provisioning, preparation and analyses required to address these challenges. Data analysis on PLCs is restricted to PLC-hardware specific alarms that are already shipped with the PLC to the customer and are independent of the process that is controlled. In addition, customers can configure process-related alarms using their engineering tools (e.g. TIA) either using the alarm framework for defining simple standard alarms or programming a dedicated function block for more complex events. Data provisioning is done using pre-defined and engineered data blocks. However, deployment of such data blocks, function blocks or alarms requires stopping and updating the PLC as well as many connected devices such as HMIs, SCADA systems, etc.
Specification of data models and analytical procedures should be much more flexible. The conventional approach leads to high engineering (development and programming) effort and also considerably reduces OEE of machines (downtimes required for updates). Adding a new sensor and providing the signals to the SCADA level requires complex re-engineering. The same holds for adding a new monitoring rule or alarm.